；子程序名：Ｆ１０Ｔ２ 
；功能：将以ＳＩ为指针的字节存储区中的有符号十进制数字串转换成二进制数送入ＡＸ／ＥＡＸ之中 
；入口参数：ＳＩ—指向待转换的有符号十进制数存储区首址（十进制数的符号及数字均用ＡＳＣＩＩ码 
； 表示，每个字节放一个ＡＳＣＩＩ码，存放顺序是高位在前，低位在后） 
； ＣＸ—存放待转换十进制数字串的长度（包括符号位）ｎ 
； ＤＸ—转换为１６位或３２位二进制数标志，若（ＤＸ）＝１６，则转换为１６位二进制数 
； 若（ＤＸ）＝３２，则转换为３２位二进制数 
；出口参数：ＳＩ—当其值为–１时表示转换的十进制数溢出，或者被转换的不是合法十进制数 
； ＥＡＸ／ＡＸ—存放转换后的二进制数 
；所用寄存器：ＥＢＸ—用来存放当前正被转换的数字ｄｉ 
.386
DATA  SEGMENT  USE16
SIGN  DB  ?
DATA ENDS
F10T2  PROC
            PUSH  EBX
            MOV  SIGN,  0
            MOV  BL,  [SI]
            CMP  BL,  '+'
            JE  F10
            CMP  BL,  '-'
            JNE  NEXT2
            MOV  SIGN,  1
F10:
            DEC  CX
            JZ  ERR
NEXT1:
            INC  SI
            MOV  BL,  [SI]
NEXT2:
            CMP  BL,  0
            JB  ERR
            CMP  BL,  '9'
            JA  ERR
            SUB  BL,  30H
            MOVZX  EBX,  BL
            IMUL  EAX,  10
            JO  ERR
            ADD  EAX,  EBX
            JO  ERR
            JS  ERR
            JC  ERR
            DEC  CX
            JNZ  NEXT1
            CMP  DX,  16
            JNE  PP0
            CMP   EAX,  7FFFH
            JA  ERR
PP0:
            CMP  SIGN,  1
            JNE  QQ
            NGE  EAX
QQ:
            POP  EBX
            RET
ERR:
            MOV  SI,  -1
            JMP  QQ
F10T2  ENDP